#ifndef FILLGROUPALGORITHMSINGLESUNITTESTS_H
#define FILLGROUPALGORITHMSINGLESUNITTESTS_H

#include "stdafx.h"
#include "TestUtils.h"
#include "GreedyFillGroupAlgorithm.h"
#include <cstdlib>


// Create a graph and a group, try to fill the group, without size limitation
TestUtils::TestResult FillSingle4On2GroupWithoutSizeLimitation(); 

// Create a graph and a group, try to fill the group, with size limitation
TestUtils::TestResult FillSingle4On2GroupWithSizeLimitation(); 

// Create a graph and a group, try to fill the group, without size limitation
TestUtils::TestResult FillSingle4On2EmptyGroupWithoutSizeLimitation(); 

// Create a graph and a group, try to fill the group, with size limitation
TestUtils::TestResult FillSingle4On2EmptyGroupWithSizeLimitation(); 

// Receives a graph instance and intializes it to a graph on vertices with n=4, w=2
// also receives a group and puts one vertex in it(removes it from the graph), 
// and returns the vertex
Vertex* CreateGraph4On2AndSetGroup(Graph& graph, Group& group);

// creates a vertex with name nameArr and returns it
Vertex* CreateVertex(bool* nameArr, int size);


#endif //FILLGROUPALGORITHMSINGLESUNITTESTS_H